package com.zh.mapstruct;

import com.zh.pojo.domain.Login;
import com.zh.pojo.vo.LoginVo;
import com.zh.remote.pojo.param.CreateLoginDto;
import com.zh.remote.pojo.param.UpdateLoginDto;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;
import org.mapstruct.factory.Mappers;

/**
 * Login 对象转换 映射结构
 */

@Mapper
public interface LoginStructMapper {
    LoginStructMapper INSTANCE = Mappers.getMapper(LoginStructMapper.class);

    // 将CreateLoginDto 对象 转换为 Login对象
    Login createLoginDtoConvertLogin(CreateLoginDto createLoginDto);

    // 使用 @MappingTarget 注解更新现有对象。
    void updateLoginFromDto(UpdateLoginDto dto, @MappingTarget Login login);
    LoginVo loginVoConvertLogin(Login login);
}
